
package service;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.xml.datatype.XMLGregorianCalendar;
import org.tempuri.ArrayOfGood;
import org.tempuri.ArrayOfOrderEntryData;
import org.tempuri.ArrayOfString;
import org.tempuri.Good;

@WebService(name = "Service1Soap", targetNamespace = "http://tempuri.org/")
@SOAPBinding(use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
public interface Service1Soap {

	@WebMethod(operationName = "QueryGoodByDeliveryTime", action = "http://tempuri.org/QueryGoodByDeliveryTime")
	@WebResult(name = "QueryGoodByDeliveryTimeResult", targetNamespace = "http://tempuri.org/")
	public ArrayOfGood queryGoodByDeliveryTime(
			@WebParam(name = "lowerBound", targetNamespace = "http://tempuri.org/") XMLGregorianCalendar lowerBound,
			@WebParam(name = "upperBound", targetNamespace = "http://tempuri.org/") XMLGregorianCalendar upperBound);

	@WebMethod(operationName = "ProcessOrder", action = "http://tempuri.org/ProcessOrder")
	@WebResult(name = "ProcessOrderResult", targetNamespace = "http://tempuri.org/")
	public boolean processOrder(
			@WebParam(name = "agencyName", targetNamespace = "http://tempuri.org/") String agencyName,
			@WebParam(name = "orderEntryDatas", targetNamespace = "http://tempuri.org/") ArrayOfOrderEntryData orderEntryDatas);

	@WebMethod(operationName = "QueryGoodsByName", action = "http://tempuri.org/QueryGoodsByName")
	@WebResult(name = "QueryGoodsByNameResult", targetNamespace = "http://tempuri.org/")
	public ArrayOfGood queryGoodsByName(
			@WebParam(name = "names", targetNamespace = "http://tempuri.org/") ArrayOfString names);

	@WebMethod(operationName = "GetTypes", action = "http://tempuri.org/GetTypes")
	@WebResult(name = "GetTypesResult", targetNamespace = "http://tempuri.org/")
	public ArrayOfString getTypes();

	@WebMethod(operationName = "GetDiscount", action = "http://tempuri.org/GetDiscount")
	@WebResult(name = "GetDiscountResult", targetNamespace = "http://tempuri.org/")
	public double getDiscount(
			@WebParam(name = "agencyName", targetNamespace = "http://tempuri.org/") String agencyName,
			@WebParam(name = "type", targetNamespace = "http://tempuri.org/") String type);

	@WebMethod(operationName = "QueryGoodsById", action = "http://tempuri.org/QueryGoodsById")
	@WebResult(name = "QueryGoodsByIdResult", targetNamespace = "http://tempuri.org/")
	public Good queryGoodsById(
			@WebParam(name = "id", targetNamespace = "http://tempuri.org/") int id);

	@WebMethod(operationName = "GetGoods", action = "http://tempuri.org/GetGoods")
	@WebResult(name = "GetGoodsResult", targetNamespace = "http://tempuri.org/")
	public ArrayOfGood getGoods();

	@WebMethod(operationName = "QueryGoodByStoreAmount", action = "http://tempuri.org/QueryGoodByStoreAmount")
	@WebResult(name = "QueryGoodByStoreAmountResult", targetNamespace = "http://tempuri.org/")
	public ArrayOfGood queryGoodByStoreAmount(
			@WebParam(name = "lowerBound", targetNamespace = "http://tempuri.org/") long lowerBound,
			@WebParam(name = "upperBound", targetNamespace = "http://tempuri.org/") long upperBound);

	@WebMethod(operationName = "QueryGoodByProducer", action = "http://tempuri.org/QueryGoodByProducer")
	@WebResult(name = "QueryGoodByProducerResult", targetNamespace = "http://tempuri.org/")
	public ArrayOfGood queryGoodByProducer(
			@WebParam(name = "producers", targetNamespace = "http://tempuri.org/") ArrayOfString producers);

	@WebMethod(operationName = "GetProducers", action = "http://tempuri.org/GetProducers")
	@WebResult(name = "GetProducersResult", targetNamespace = "http://tempuri.org/")
	public ArrayOfString getProducers();

	@WebMethod(operationName = "QueryGoodByPrice", action = "http://tempuri.org/QueryGoodByPrice")
	@WebResult(name = "QueryGoodByPriceResult", targetNamespace = "http://tempuri.org/")
	public ArrayOfGood queryGoodByPrice(
			@WebParam(name = "lowerBound", targetNamespace = "http://tempuri.org/") double lowerBound,
			@WebParam(name = "upperBound", targetNamespace = "http://tempuri.org/") double upperBound);

	@WebMethod(operationName = "QueryGoodsByType", action = "http://tempuri.org/QueryGoodsByType")
	@WebResult(name = "QueryGoodsByTypeResult", targetNamespace = "http://tempuri.org/")
	public ArrayOfGood queryGoodsByType(
			@WebParam(name = "types", targetNamespace = "http://tempuri.org/") ArrayOfString types);

}
